package com.hycreate.platform.modules.product;

import java.util.List;

import com.hycreate.platform.common.persistence.CrudDao;
import com.hycreate.platform.common.persistence.annotation.MyBatisDao;
import com.hycreate.platform.common.utils.mypage.PageDemo;
import com.hycreate.platform.modules.atta.SfAttachment;
import com.hycreate.platform.modules.element.SfElement;
import com.hycreate.platform.modules.product.element.SfProductElement;
import com.hycreate.platform.modules.project.product.SfProjectProduct;

/**
 * 产品DAO接口
 * @author hoader
 * @version 2017-01-09
 */
@MyBatisDao
public interface SfProductDao extends CrudDao< SfProduct> {
	
	public int  elementCount(String id); //查询符合条件的配件数据的总条数
	
	public List<SfElement>  findElement(PageDemo pd);//查询符合条件的配件数据
	
	public List<SfProduct> findImportList (SfProduct sfProudct); //通过对象查找一个产品集合
	
	public SfProduct getproduct(String code); //通过一个code编码来查找一个对象
	
	public List<SfAttachment> findProductPic(String id ); //查询产品的图片

	
	 public void batchDeletes(List delList);  //删除若干产品
	 
	 
	 /*分页 查询 */
	 
	 public List<SfProduct> findPageList(PageDemo pd); //自己写的分页
	 
	 public int productCount(SfProduct sfProduct); //查询产品总数
	 
	
	 
	 public List<SfProduct> ProductEntityPage(PageDemo pd);//查询项目下面的产品的分页
	 
	 public int  ProductEntityCount(String pid);  //查询项目下面的产品的总数
	 
	 /*分页 查询 */
	 
	 public void DeletesRedundancy(List delList); //删除产品配件表里面冗余关系数据
	 
	 public List<SfProjectProduct> DELLIST(); //删除项目里面的多余数据
	 
	 
	 public void DeletesRedundancyProduct(List delList); //删除项目产品表里面的冗余数据
	 
	 public SfProduct codeFindProduct(String code); //通过编码得到产品对象
	 
}